<!DOCTYPE HTML>
<html>
<head>
<title>ComObjError() | AutoHotkey</title>
<meta name="description" content="The ComObjError function enables or disables notification of COM errors." />
<meta name="ahk:equiv-v2" content="index.htm" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
</head>
<body>

<h1>ComObjError() <span class="ver">[AHK_L 53+]</span></h1>

<p>启用或禁用 COM 错误通告.</p>

<pre class="Syntax">Enabled := <span class="func">ComObjError</span>(<span class="optional">Enable</span>)</pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>Enable</dt>
  <dd><p>布尔值(真或假). 此参数是可选的.</p></dd>

</dl>

<h2 id="Return_Value">返回值 <span class="ver">[v1.0.91+]</span></h2>
<p>函数返回这个函数被调用之前生效的设置.</p>

<h2 id="General_Remarks">一般说明</h2>
<p>COM 错误可能是由 <a href="ComObjCreate.htm">ComObjCreate()</a>, <a href="ComObjGet.htm">ComObjGet()</a>, <a href="ComObjActive.htm">ComObjActive()</a>, <a href="ComObjConnect.htm">ComObjConnect()</a>, <a href="ComObjQuery.htm">ComObjQuery()</a>(如果检测到无效指针) 或 COM 对象的方法或属性引起的. COM 错误会导致以下结果之一:</p>
<table class="info" id="factors">
  <tr><th>设置</th><th>结果</th></tr>
  <tr>
    <td>0(禁止)</td>
    <td>函数, 方法或属性返回默认值(通常为空字符串), 而不显示错误对话框.</td>
  </tr>
  <tr>
    <td>1(激活)</td>
    <td>
      <p>如果有一个活动的 <a href="Try.htm">Try</a> 块, 抛出一个异常. 否则:</p>
      <p>显示一个错误对话框, 让用户可以选择继续执行脚本. 如果用户选择 "Yes", 函数, 方法或属性返回默认值(通常为空字符串), 脚本继续执行. 否则, 脚本将退出.</p>
    </td>
  </tr>
</table>
<p>在访问 COM 对象之后, <a href="../Variables.htm#LastError">A_LastError</a> 包含 COM 对象的 <a href="http://msdn.microsoft.com/en-us/library/ms221479.aspx">IDispatch::Invoke</a> 函数返回的 HRESULT 码. 脚本可能会在 <a href="Catch.htm">Catch</a> 块中或者在方法或属性返回后, 查询 A_LastError, 前提是已经使用了 <code>ComObjError(false)</code> 或用户未选择退出脚本.</p>

<h2 id="Related">相关</h2>
<p><a href="ComObjCreate.htm">ComObjCreate()</a>, <a href="ComObjGet.htm">ComObjGet()</a>, <a href="ComObjActive.htm">ComObjActive()</a>, <a href="ComObjConnect.htm">ComObjConnect()</a>, <a href="ComObjQuery.htm">ComObjQuery()</a></p>

</body>
</html>